package com.foreknow.demo01;

/**
 * 逻辑运算符：表示两个逻辑类型（boolean）的操作
 * 与（&&）:A&&B 表示一定要满足A和B两个条件
 *
 */
public class OperationDemo5 {
    public static void main(String[] args) {
//        int a = 5;
//        int b = 3;
//        int c = 2;
//
//        boolean x1 = (a>b)&&(b>c);
//        boolean x2 = (a>b)&&(b<c);
//        System.out.println(x1);
//        System.out.println(x2);
//
//        boolean x3 = (a>b)||(b>c);
//        boolean x4 = (a>b)||(b<c);
//        boolean x5 = (a<b)||(b<c);
//        System.out.println(x3);
//        System.out.println(x4);
//        System.out.println(x5);
//
//        boolean x6 = !(a>b);
//        System.out.println(x6);

        //短路的现象
        int i = 5;
        boolean x = (i++ >5) && (++i < 6);//后面没有参与计算
        System.out.println(x);
        System.out.println(i);

        //面试题
        //&(位与) 与 && 的区别？
        //& 它不是短路的，而&&它是短路的

    }
}
